package com.ecarx.camera.worker.car;

import androidx.annotation.IntDef;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 功能可用状态定义
 */
@Documented
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
@IntDef(value = {
        FunctionStatus.STATUS_ERR,
        FunctionStatus.STATUS_ACTIVE,
        FunctionStatus.STATUS_NOT_AVAILABLE,
        FunctionStatus.STATUS_NOT_ACTIVE
})
@Retention(RetentionPolicy.SOURCE)
public @interface FunctionStatus {
    /**
     * Supported & Active(支持并可用)。
     * <p>对应该功能应该正常显示</p>
     */
    int STATUS_ACTIVE = 0;

    /**
     * Supported & not Active(支持不可用)。
     * <p>对应该功能应该置灰</p>
     */
    int STATUS_NOT_ACTIVE = 1;

    /**
     * not Supported(不支持)。
     * <p>对应该功能应该移除，不显示</p>
     */
    int STATUS_NOT_AVAILABLE = 2;

    /**
     * Error(出错)
     * <p>对应该功能应该移除，不显示</p>
     */
    int STATUS_ERR = 3;
}
